home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / diskmags / 0022-3.564 / dmg-3420 / stos_par.t / stosles3.txt next >
Text File  |  1989-04-05  |  12KB  |  321 lines

  1. STOS LESSON 3
  2.  
  3.  ******   **      **  *******   *******  ******
  4. **    **   **    **   **    **  **       **   **
  5. **          **  **    **    **  **       **   **
  6. **           ****     *******   *****    ******
  7. **            **      **    **  **       **   **
  8. **    **     **       **    **  **       **   **
  9.  ******     **        *******   *******  **   **
  10.            ** 
  11.           **              ******   **     **  **     **  **   **
  12.                           **   **  **     **  ***    **  **  **
  13.                           **   **  **     **  ****   **  ** **
  14.                           ******   **     **  ** **  **  ****
  15.                           **       **     **  **  ** **  ** **
  16.                           **       **     **  **   ****  **  **
  17.                           **         *****    **     **  **   **
  18.  
  19. -----------------------------------------------------------------
  20. The Cyberpunks STOS lesson part 3                       (PD) 1992
  21. -----------------------------------------------------------------
  22.  
  23.  
  24. Well  if all versions of DBA mag 3 was like the copy  i  received 
  25. then you didnt find the files to the lesson 2 on the disk,  so as 
  26. the STOS part of mag 3 has to be reprinted in this mag, i decided 
  27. that i should keep this part a bit shorter than normal.
  28. ( The files Cyberpunk is talking about were lost due of a harddisk
  29. problem. And the fact he didn't send them in on time the lost files
  30. are not on this disk. Maybe (we will try to) next time !! Red.)  
  31. So  if  everything is right this time then you  should  find  the 
  32. following files on the disk:
  33.  
  34.                     - Artintro.bas 
  35.                     - Shaolin.run (music file)
  36.                    
  37.  
  38. I haven't included the S-Extension part that i promised last time 
  39. as  it takes up to much space,  instead i have included  the  new 
  40. intro to NET SLIDE 4. This is the newest prog i have made, and it 
  41. uses a similar technique to last issues scroll, the difference is 
  42. that it uses more memory,  and it looks absolutely impossible  to 
  43. do in basic.  Every single pix on the screen are either  scrolled 
  44. in  parallax or animated 50 or 60 times a sec,  without  cheating 
  45. you couldn't even have done that in MC as the computer cant  move 
  46. data that fast.   
  47.  
  48. This  isn't the real intro prog but the designer i used  while  i 
  49. tested  out the efx,  the difference is that this prog loads  NEO 
  50. files  from  the  disk  while  the  intro  itself  has  them   in 
  51. databanks.
  52.  
  53. This  file is probably 1meg only,  but it fits in a 520 as a  prg 
  54. file.  If  you  are a 520 user then you have to cut down  to  two 
  55. screen banks (not so smooth scrolling).
  56.  
  57. So  what  does this intro do then?  Well it  scrolls  the  screen 
  58. downwards  at  2 pix a update,  this in it self takes  nearly  no 
  59. time  at  all but it uses 256Kb,  then it puts pic  equ's  and  a 
  60. little  scroll over the the right part of the screen (x  239-319)  
  61. this takes some time and it uses 32kb.
  62.  
  63. Those  of you that have been so lucky to see  Net Slide  4  knows 
  64. that  the  intro has a parallax scroll in  the  background,  this 
  65. isnt important now as you DOES NOT HAVE TO CHANGE THE CODE to  do 
  66. that!!! No kidding mon...
  67.  
  68. Before  you can run this file you have to draw 5 NEO screens  and 
  69. copy  the  music  file over to the same disk  as  you  saved  the 
  70. screens on. 
  71.  
  72. Find  a  picture with a see through (colour  0)  background,  the 
  73. square x239,y0 to x319,y200 should be cleared. As you have to add 
  74. a  parallax background later on the object in the  pic  shouldn't 
  75. cover  to much of the space.  And colours 1,2 and 3 are  used  as 
  76. equalisers so they will blink to the beat!
  77.  
  78. Now save this pic as "ms1.neo"
  79.  
  80. Copy  the  object  in the picture two (2) pix down  (copy  it  so 
  81. the upper corner moves from x0,y0 to x0,y2)
  82.  
  83. Save this pic as "ms2.neo"
  84.  
  85. Copy the object etc....
  86.  
  87. Save as "ms3.neo"
  88.  
  89. Copy the ....
  90.  
  91. Save as "ms4.neo"
  92.  
  93. You  should  now  have  4 screens that  looks  nearly  the  same, 
  94. remember that if some part of the object goes below the screen as 
  95. you copies it downwards, you have to copy the missing part to the 
  96. top of the screen.                    
  97.  
  98. Flipping  through the pic's should now create a smooth  scrolling 
  99. effect. 
  100.  
  101. You also needs a fifth screen, this is the equaliser screen. Each 
  102. of  the  equaliser blocks are 80 wide and  50  high,  the  screen 
  103. should be set up like this:
  104.  
  105.  
  106.                       0  1  2  3
  107.                       4  5  6  7
  108.                       8  9 10  s
  109.                      11 12 13  s
  110.  
  111.  
  112. 0 - 13 is the animation the equaliser flips through,  's' is  the 
  113. space used by the little scrolling logo.
  114.  
  115. Draw a logo that are 80 wide and 50 high,  copy this to x240,y100 
  116. and  x240,y150,  the  top  and bottom of the  logo  have  to  fit 
  117. together.
  118.  
  119.  
  120. Save this screen as "Equagirl.neo"
  121.  
  122. Copy  the music file (in.run) to the same disk as the  neo  pic's 
  123. are on.
  124.  
  125. Load the 'artintro.bas' file into STOS basic.
  126.  
  127. Change to the disk with the pic's and music and write run
  128.  
  129. In  basic  this  shouldn't be smooth (i think)  but  if  you  now 
  130. compiles it you should have a smooth scroll.
  131.  
  132. Exit  the prog by pressing 'Space',  if you breaks the  prog  you 
  133. have  to  write  call start(13)+2 to turn off  the  music  so  it 
  134. doesn't crash you ST.
  135.  
  136. I'll tell you about the Parallax after the listing.
  137.  
  138. ------------------------------------------------------------------
  139.  
  140. This  is a old version so i'm not that sure what that sp=1  does, 
  141. but i knows it has something to do with the equ's.  The dims  are 
  142. for  the  x and y cords of the equs the r,  g and b are  for  the 
  143. colour equs.
  144.  
  145. 1 SP=1
  146. 10 mode 0 : flash off : click off : hide : curs off : key off 
  147. 20 dim X(17),Y(17),R(16),G(16),B(16)
  148.  
  149. Loads data values into the equ variables 
  150.  
  151. 30 for I=0 to 15 : read X(I) : read Y(I) : next I
  152. 40 for I=0 to 15 : read R(I) : next I
  153. 50 for I=0 to 15 : read G(I) : next I
  154. 60 for I=0 to 15 : read B(I) : next I
  155.  
  156. Reserves the screen banks as 66560bytes (2*32000+2560)
  157.  
  158. 70 reserve as work 7,66560
  159. 80 reserve as work 8,66560
  160. 90 reserve as work 9,66560
  161. 100 reserve as work 10,66560
  162.  
  163. Loads  the  graphics and copies them around (i had to  take  some 
  164. extra returns/enters here to fit it into the doc)
  165.  
  166. 110 load "ms1.neo",back : copy back,back+32000 to start(7) 
  167. : copy back,back+32000 to start(7)+32000
  168. 120 load "ms2.neo",back : copy back,back+32000 to start(8) 
  169. : copy back,back+32000 to start(8)+32000
  170. 130 load "ms3.neo",back : copy back,back+32000 to start(9) 
  171. : copy back,back+32000 to start(9)+32000
  172. 140 load "ms4.neo",back : copy back,back+32000 to start(10) 
  173. : copy back,back+32000 to start(10)+32000
  174. 150 load "equagirl.neo",back
  175.  
  176. Reserves and loads music, 170 starts the music 
  177.  
  178. 160 reserve as work 13,10240 : bload "in.run",13
  179. 170 dreg(0)=1 : call start(13) : logic=physic
  180. 180 rem
  181. 190 rem
  182. 200 rem
  183.  
  184. Scroll routine.  1280bytes are 8 screen lines (see earlier lesson 
  185. in  DBA  mag  to understand the calculations) 7  to  10  are  the 
  186. screens. Lines 210-230 + 370-390 is enough to parallax scroll the 
  187. entire screen
  188.  
  189. 210 for I=30720 to 0 step-1280
  190. 220 for E=7 to 10
  191. 230 physic=start(E)+I
  192.  
  193. The  equ ruts:  psg is a STOS commando that reads what the  music 
  194. chip  is doing 270-290 is the pic equs and 310-340 is the  colour 
  195. equs
  196.  
  197. 240 A=psg(8) : if A>15 then A=15
  198. 250 B=psg(9) : if B>15 then B=15
  199. 260 C=psg(10) : if C>15 then C=15
  200. 270 screen copy back,X(A),Y(A),X(A)+80,Y(A)+50 to physic,240,0
  201. 280 screen copy back,X(B),Y(B),X(B)+80,Y(B)+50 to physic,240,50
  202. 290 screen copy back,X(C),Y(C),X(C)+80,Y(C)+50 to physic,240,100
  203. 310 colour 1,R(A)
  204. 320 colour 2,G(B)
  205. 330 colour 3,B(C)
  206. 340 get palette (logic)
  207.  
  208. This is the logo scroll,  i can see that it aint like the one  in 
  209. the intro,  shit i have to change this....  No wait a minute.. it 
  210. is the right version + some leftovers,  that TT and SP shit isn't 
  211. used i think,  so you can probably erase it,  now i remember,  SP 
  212. and TT was used to create a random speed and random speed  change 
  213. on the logo scroll........
  214.  
  215. 354 YS=YS+B/2-4 : TT=rnd(50) if TT=44 then SP=rnd(16)-8
  216. 355 if YS>=50 then YS=YS-50
  217. 356 if YS<=0 then YS=YS+50
  218. 357 screen copy back,240,100+YS,320,YS+150 to physic,240,150
  219.  
  220. Loop end
  221.  
  222. 370 wait vbl 
  223. 380 if inkey$=" " then call start(13)+2 : stop 
  224. 390 next E : next I : goto 210
  225.  
  226. Equ data (extra returns/enters taken)
  227.  
  228. 400 data 0,0,0,0,0,0,80,0,160,0,240,0
  229. 410 data 0,50,80,50,160,0,240,0
  230. 420 data 0,100,80,100,160,100
  231. 430 data 0,150,80,150,160,150
  232. 440 data $0,$100,$200,$300,$400,$500,$600,$700,$711,$721,$722,$733,
  233. $744,$755,$766,$777
  234. 450 data $0,$10,$20,$30,$40,$50,$60,$70,$171,$172,$272,$373,$474,
  235. $575,$676,$777
  236. 460 data $0,$1,$2,$3,$4,$5,$6,$7,$117,$127,$227,$337,$447,$557,$667,
  237. $777
  238.  
  239. ------------------------------------------------------------------------
  240.  
  241. Well that was the listing, now some parallax theory...
  242.  
  243. You  have probably noticed that sometimes wheels in  films  spins 
  244. backwards  but  the car/Waggon goes forward,  this is  a  optical 
  245. illusion  created  by the fact that a wheel has  several  sectors 
  246. that  looks  the same,  and that the camera takes pictures  at  a 
  247. regular interval (24 a sec on a movie, 25 on a tv)   
  248.  
  249. This is how it works
  250.  
  251. dot          1   2   3   4   5
  252. pic 1     :  *   *   *   *   * :
  253.  
  254. pic 2     :   *   *   *   *   *:
  255. dot           2   3   4   5   6
  256.  
  257. As  you can see the dots have moved to the left,  but  they  have 
  258. moved  with a speed that have made dot 2 stand one space  to  the 
  259. right of dot 1's earlier position,  so it will look like the dots 
  260. moves to the right!  
  261.  
  262. So how can you use this effect in this prog.  Well first we  have 
  263. to  look at what we have here.  When you run the above  prog  and 
  264. you have the right pictures it looks like you have a scroll  that 
  265. moves 2 pix a update, but that aint the truth, what you have is a 
  266. scroll  that moves 8 pix a update but swaps between  4  different 
  267. versions of the picture.
  268.  
  269. So lets say that i writes 'NETWORK' 8 pix high the entire  screen 
  270. down  and  copies this into the other screens without  moving  it 
  271. downwards  2  pix  for each pic.  The result would  be  that  the 
  272. 'NETWORK' text wouldn't move at all. 
  273.  
  274. If  you now writes 'NETWORK' with a 10 pix font and did the  same 
  275. as above you would get a scroll that scrolled the opposite way of 
  276. the 'real' scrolling direction.
  277.  
  278. And  you can now start moving the text sideways to  get  sideways 
  279. scrolling or distorting etc..
  280.  
  281. As  i  uses four screens in the routine it might take  some  time 
  282. before  you gets the hang of how to draw your screens to get  the 
  283. desired efx.  if you want to do a full screen parallax distorting 
  284. effect then it might be smart to go down to two screens,  or even 
  285. one  screen.  Its also possible to feed data in  below and  above 
  286. the screen to avoid a repeating pattern.
  287.  
  288. If  you only going to have patterns and not a big object  on  the 
  289. screen then it would be smart to save the graphic in a basic form 
  290. and  copy them around before you starts the scrolling (thats  why 
  291. some demos takes some time to start) It would also be smart to do 
  292. that  even  if you have a big object on the screen but  what  the 
  293. f**k....  If  you uses my routine with finished screens  then you 
  294. could always animate the big object,  you would then have a  full 
  295. screen  animated  parallax scroller in basic (maybe i  should  do 
  296. that!)       
  297.  
  298. If  you  want  to scroll the entire  screen,  simply  remove  the 
  299. equalisers and the logo scroll.  If you uses border removal  then 
  300. remember  to  increase the databank size and change  the  copying 
  301. routine.  
  302.  
  303. As i cant bother to write more about this routine i stop here.
  304.  
  305.  
  306. See ya mon...
  307.  
  308. CP signs of on the 15. march 1992
  309.  
  310. PS:  if you want to see Net Slide 4 and the intro but you haven't 
  311. a copy (i'm not exactly going bankrupt on postal fees in a bid to 
  312. spread  my work to all people) then send me a  letter  containing 
  313. one  disk and a envelope with your name and address on it  to  me 
  314. and i will return it the following day.  (if you does not include 
  315. an  envelope  then it will take a week or two) You can  also  get 
  316. hold of it in the DBA PD Club.
  317.  
  318.  
  319.  
  320.  
  321.